package com.weitu.securitycheck.mapper;

import com.weitu.securitycheck.entity.CheckProblem;
import com.weitu.securitycheck.entity.CheckProblemCriteria;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LiMeng
 * date 2017/05/17 16:55
 */
public interface CheckProblemMapper {
    /** 
     * 查询数量
     * @param example 条件对象
     */
    int countByCriteria(CheckProblemCriteria example);

    /** 
     * 根据ID删除
     * @param id 主键ID
     */
    int deleteByPrimaryKey(String id);

    /** 
     * 添加对象对应字段
     * @param record 插入字段对象(必须含ID）
     */
    int insertSelective(CheckProblem record);

    /** 
     * 根据条件查询
     * @param example 条件对象
     */
    List<CheckProblem> selectByCriteria(CheckProblemCriteria example);

    /** 
     * 根据ID查询
     * @param id 主键ID
     */
    CheckProblem selectByPrimaryKey(String id);

    /** 
     * 根据条件修改对应字段
     * @param record 修改字段对象 (JOPO)
     * @param example 条件对象
     */
    int updateByCriteriaSelective(@Param("record") CheckProblem record, @Param("example") CheckProblemCriteria example);

    /** 
     * 根据ID修改对应字段
     * @param record 修改字段对象(必须含ID）
     */
    int updateByPrimaryKeySelective(CheckProblem record);

    /**
     * 查询不在台账中的问题
     * @return 问题列表
     */
    List<CheckProblem> selectByNotInRecord();

    /**
     * 根据ID修改所有字段(必须含ID）
     * @param record 修改字段对象(必须含ID）
     */
    int updateByPrimaryKey(CheckProblem record);
}